#include <stdio.h>
#include <stdlib.h>


#define MAXSIZE 20
typedef int ElementType;

typedef int Position;
typedef struct LNode *List;
struct LNode {
    ElementType Data[MAXSIZE];
    Position Last; /* 保存线性表中最后一个元素的位置 */
};

List ReadInput(); /* 裁判实现，细节不表。元素从下标0开始存储 */
void PrintList( List L ); /* 裁判实现，细节不表 */
List Delete( List L, ElementType minD, ElementType maxD );

int main()
{
    freopen("6-2.in","r",stdin);
    List L;
    ElementType minD, maxD;
    int i;
    
    L = ReadInput();
    scanf("%d %d", &minD, &maxD);
    L = Delete( L, minD, maxD );
    PrintList( L );
    
    return 0;
}
/* 你的代码将被嵌在这里 */
List ReadInput()
{
    List ans=(List)malloc(sizeof(struct LNode));
    scanf("%d",&ans->Last);
    --ans->Last;
    for(Position i=0;i<=ans->Last;scanf("%d",&ans->Data[i]),++i);
    return ans;
}
void PrintList( List L )
{
    for(Position i=0;i<=L->Last;++i)printf("%d ",L->Data[i]);
}
List Delete( List L, ElementType minD, ElementType maxD )
{
    Position i=-1;
    for(Position j=0;j<=L->Last;++j)
        if(L->Data[j]<=minD||L->Data[j]>=maxD)
            L->Data[++i]=L->Data[j];
    L->Last=i;
    return L;
}